home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
prolog_2.zip
/
PUZZLES.ZIP
/
NEW_LIST.PRO
< prev
next >
Wrap
Text File
|
1987-05-30
|
1KB
|
26 lines
/*
The following PROLOG program can be used to append and
delete items from a list. This program defines a functor
newlist which will insert an element in the front of the
original list if it is not already in the list, but will
delete it from the list if it is already in the list.
*/
member(X, [X|_]).
member(X, [_|Z]) :- member(X, Z).
append([], L, L).
append([X|L1], L2, [X|L3]) :- append(L1, L2, L3).
delete(X, L, L1) :- append(L2, [X|L3], L), append(L2, L3, L1).
newlist(Element_X, Old_List, New_List) :-
member(Element_X, Old_List),
delete(Element_X, Old_List, New_List),
!.
newlist(Element_X, Old_List, New_List) :-
append([Element_X], Old_List, New_List).